/* * Gui_NewRun.java * * Created on May 1, 2006 * Latest version: July 20, 2006 * * This class is a part of the Assessment of Comprehension program (AoC), created * for the Language Science Lab at Boston University, under the grant entitled * "Assessment of Comprehension Skills in Older Struggling Readers." Please * direct any questions regarding the project to Gloria S. Waters or David N. * Caplan. * * This program was written by Sam Fentress [add any subsequent authors here]. * Questions about the program may be directed to sfentress@gmail.com. * * This program is released WITHOUT COPYRIGHT into the PUBLIC DOMAIN. This * program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * -- * Note: This and all other GUIs in the AoC program were created using NetBean's * Gui editor. The method initComponents() was entirely auto-generated and * cannot be edited in NetBeans. Appologies, therefore, if the organization of * the code does not always appear to be logical. * -- * * @author Sam Fentress * @version 0.05 */ package gui; import aoc.*; import javax.swing.JOptionPane; import java.awt.event.KeyEvent; import java.text.NumberFormat; import javax.swing.text.NumberFormatter; /** * Gui to create new Student object. * * @author Sam Fentress * @version 0.04 */ public class Gui_NewRun extends javax.swing.JFrame { AoC aoc; Student student; NumberFormat integerFormat; NumberFormatter textFormatter; /** * Creates new form Gui_NewRun */ public Gui_NewRun(AoC aoc) { this.aoc = aoc; integerFormat = NumberFormat.getIntegerInstance(); textFormatter = new NumberFormatter(integerFormat); textFormatter.setAllowsInvalid(false); // setDefaultLookAndFeelDecorated(true); initComponents(); setLocationRelativeTo(null); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; JLabelNewStudent = new javax.swing.JLabel(); textLastName = new javax.swing.JTextField(); JLabelLastName = new javax.swing.JLabel(); textFirstName = new javax.swing.JTextField(); JLabelDOB = new javax.swing.JLabel(); jLabelSlash1 = new javax.swing.JLabel(); jLabelSlash2 = new javax.swing.JLabel(); JLabelFistName = new javax.swing.JLabel(); buttonOK = new javax.swing.JButton(); jLabelmmddyy = new javax.swing.JLabel(); textMonth = new javax.swing.JFormattedTextField(textFormatter); textDay = new javax.swing.JFormattedTextField(textFormatter); textYear = new javax.swing.JFormattedTextField(textFormatter); getContentPane().setLayout(new java.awt.GridBagLayout()); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Assessment of Comprehension"); setName("frameNewStudent"); setResizable(false); JLabelNewStudent.setFont(new java.awt.Font("Lucida Grande", 1, 20)); JLabelNewStudent.setText("New Student"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(30, 50, 30, 0); getContentPane().add(JLabelNewStudent, gridBagConstraints); textLastName.setMinimumSize(new java.awt.Dimension(122, 22)); textLastName.setPreferredSize(new java.awt.Dimension(122, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(0, 5, 7, 0); getContentPane().add(textLastName, gridBagConstraints); JLabelLastName.setFont(new java.awt.Font("Lucida Grande", 0, 18)); JLabelLastName.setText("Last Name"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(0, 50, 7, 0); getContentPane().add(JLabelLastName, gridBagConstraints); textFirstName.setMinimumSize(new java.awt.Dimension(122, 22)); textFirstName.setPreferredSize(new java.awt.Dimension(122, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(0, 5, 7, 0); getContentPane().add(textFirstName, gridBagConstraints); JLabelDOB.setFont(new java.awt.Font("Lucida Grande", 0, 18)); JLabelDOB.setText("Date of Birth"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 50, 0, 0); getContentPane().add(JLabelDOB, gridBagConstraints); jLabelSlash1.setFont(new java.awt.Font("Lucida Grande", 0, 18)); jLabelSlash1.setText("/"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 2); getContentPane().add(jLabelSlash1, gridBagConstraints); jLabelSlash2.setFont(new java.awt.Font("Lucida Grande", 0, 18)); jLabelSlash2.setText("/"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 2); getContentPane().add(jLabelSlash2, gridBagConstraints); JLabelFistName.setFont(new java.awt.Font("Lucida Grande", 0, 18)); JLabelFistName.setText("First name"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(0, 50, 7, 0); getContentPane().add(JLabelFistName, gridBagConstraints); buttonOK.setText("Ok"); buttonOK.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { buttonOKMouseClicked(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 6; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(12, 6, 30, 50); getContentPane().add(buttonOK, gridBagConstraints); jLabelmmddyy.setText("(mm/dd/yy)"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 6; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 6, 0, 50); getContentPane().add(jLabelmmddyy, gridBagConstraints); textMonth.setMinimumSize(new java.awt.Dimension(32, 22)); textMonth.setPreferredSize(new java.awt.Dimension(32, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 0); getContentPane().add(textMonth, gridBagConstraints); textDay.setMinimumSize(new java.awt.Dimension(32, 22)); textDay.setPreferredSize(new java.awt.Dimension(32, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 3; getContentPane().add(textDay, gridBagConstraints); textYear.setMinimumSize(new java.awt.Dimension(32, 22)); textYear.setPreferredSize(new java.awt.Dimension(32, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 3; getContentPane().add(textYear, gridBagConstraints); pack(); }// </editor-fold>//GEN-END:initComponents private void buttonOKMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_buttonOKMouseClicked if (checkFields()){ createStudent(); aoc.runNewTest(student); } }//GEN-LAST:event_buttonOKMouseClicked /** * Checks all field to see if they've been filled in. Currently does not * check to see if values are reasonable. This will result in an error * if letters are found in dob fields */ private boolean checkFields() { boolean allFilledIn = true; String warning = "Please make sure the following fields are filled in:\n"; if (textFirstName.getText().equals("")){ warning += " First Name"; allFilledIn = false; } if (textLastName.getText().equals("")){ if (!allFilledIn) warning += ",\n"; warning += " Last Name"; allFilledIn = false; } if (textMonth.getText().equals("")){ if (!allFilledIn) warning += ",\n"; warning += " Month of birth"; allFilledIn = false; } if (textDay.getText().equals("")){ if (!allFilledIn) warning += ",\n"; warning += " Day of birth"; allFilledIn = false; } if (textYear.getText().equals("")){ if (!allFilledIn) warning += ",\n"; warning += " Year of birth"; allFilledIn = false; } if (!allFilledIn) JOptionPane.showMessageDialog(this, warning, "Warning", JOptionPane.WARNING_MESSAGE); return allFilledIn; } private void createStudent(){ student = new Student(); student.setName(textFirstName.getText(), textLastName.getText()); student.setDOB(Integer.parseInt(textMonth.getText()), Integer.parseInt(textDay.getText()), Integer.parseInt(textYear.getText())); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel JLabelDOB; private javax.swing.JLabel JLabelFistName; private javax.swing.JLabel JLabelLastName; private javax.swing.JLabel JLabelNewStudent; private javax.swing.JButton buttonOK; private javax.swing.JLabel jLabelSlash1; private javax.swing.JLabel jLabelSlash2; private javax.swing.JLabel jLabelmmddyy; private javax.swing.JFormattedTextField textDay; private javax.swing.JTextField textFirstName; private javax.swing.JTextField textLastName; private javax.swing.JFormattedTextField textMonth; private javax.swing.JFormattedTextField textYear; // End of variables declaration//GEN-END:variables }